public class Code3 {
    /*
    * 抢占式调度 和 非抢占式调度
    * */


    /*
    * 抢占式调度
    * setPriority()方法设置线程的优先级
    * 不给线程设置优先级 线程也会有默认值 默认值是5
    * 优先级不是绝对的 是概率问题
    *
    * getPriority()方法获取线程的优先级
    * */
//    public static void main(String[] args) {
//        MyRunnable myRunnable = new MyRunnable();
//        Thread thread1 = new Thread(myRunnable,"飞机");
//        Thread thread2 = new Thread(myRunnable,"大炮");
//        thread1.setPriority(1);
//        thread2.setPriority(10);
//        thread1.start();
//        thread2.start();
//    }
//
//    public static class MyRunnable implements Runnable {
//        public void run() {
//            for (int i = 0; i < 100; i++) {
//                System.out.println(Thread.currentThread().getName()+"线程的优先级是"+Thread.currentThread().getPriority()+"---"+i);
//            }
//        }
//    }


    /*
    * 守护线程
    * setDaemon()方法 设置线程为守护线程
    * 当其它的非守护线程执行完毕之后 守护线程会陆续结束
    *
    * */

//    public static void main(String[] args) {
//        MyThread1 myThread1 = new MyThread1();
//        MyThread2 myThread2 = new MyThread2();
//        myThread1.setName("女神");
//        myThread2.setName("备胎");
//        myThread2.setDaemon(true);
//        myThread1.start();
//        myThread2.start();
//    }
//
//    public static class MyThread1 extends Thread {
//        @Override
//        public void run() {
//            for (int i = 0; i < 10; i++) {
//                System.out.println(this.getName()+"@"+i);
//            }
//        }
//    }
//    public static class MyThread2 extends Thread {
//        @Override
//        public void run() {
//            for (int i = 0; i < 100; i++) {
//                System.out.println(this.getName()+"@"+i);
//            }
//        }
//    }


}
